const url = require('url');
const http = require('http');
const fs = require('fs');
const pathlib = require('path');

let req = http.request('http://www.taobao.com/', (res) => {
    console.log('得到了服务器的响应');
    if (res.statusCode >= 200 && res.statusCode < 300 || res.statusCode == 304) {
        let arr = [];
        res.on('data', (data) => {
            arr.push(data);
        })
        res.on('end', () => {
            let buffer = Buffer.concat(arr);
            fs.writeFile(pathlib.resolve('tmp', 'baidu.html'), buffer, (err) => {
                if (err) {
                    console.log('写入文件错误', err);
                } else {
                    console.log('写入完成');
                }
            })

            console.log('数据接收完成');
        })
    } else {
        console.log('错误', res.statusCode);
        console.log(res.headers);
    }
});

req.on('error', (err) => {
    console.log(err);
})

// 发送的是post数据，因为是真实的模拟请求，比如模拟登录的时候，就会用到
req.write('');
// end是对request的配置结束，不是程序结束，是正式开始，表示对发送给服务器的信息发送结束
req.end();
